//
//  CSPageElementModel.h
//  Pods
//
//  Created by 网新中研 on 2017/4/20.
//
//

#import <Foundation/Foundation.h>
#import "CSBaseView.h"

@class CSPageEngine;

/**
 * 视图类型
 */
typedef enum : NSUInteger {
    
    //页面视图类型
    CSViewType_PageTextView = 2,
    CSViewType_PageSectionTitleView = 1,
    CSViewType_PageImageView = 3,
    CSViewType_PageTextFieldView = 4,
    CSViewType_PageDescriptionView = 5,
    CSViewType_PageSpaceView = 6,
    CSViewType_PageTimePickView = 7,
    CSViewType_PageSingleView = 8,
    CSViewType_PageMulityView = 9,
    CSViewType_PageRadioView = 10,
    CSViewType_PageTextSelectView = 11,
    CSViewType_TimeRangeView = 12,//时间范围
    
    //编辑视图类型
    CSViewType_Edit_ToolBox = 21,
    CSViewType_Page_Button = 22
} CSViewType;

typedef void(^CSClickHandlerBlock)(void);

@interface CSPageElementModel : NSObject

/**
 * 页面对象类型
 */
@property (nonatomic, assign) CSViewType type;

/**
 * 视图模型更细化的分类
 */
@property (nonatomic, assign) NSUInteger subType;

/**
 * 页面对象标题
 */
@property (nonatomic, strong) NSString *title;

/**
 * 页面对象映射所对应的json值
 */
@property (nonatomic, strong) NSString *json;

/**
 * 默认值
 */
@property (nonatomic, strong) id defaultValue;

/**
 * 输入框提示信心
 */
@property (nonatomic, strong) NSString *placeHolder;

/**
 * 是否为密码
 */
@property (nonatomic, assign) BOOL isPassword;

/**
 * 键盘类型
 */
@property (nonatomic, assign) int keyboardType;

/**
 * 默认值
 */
@property (nonatomic, strong) id value;

/**
 * 点击意图
 */
@property (nonatomic, strong) NSString *clickIntent;

/**
 * 对应的视图实例对象
 */
@property (nonatomic, strong) CSBaseView *viewInstance;

/**
 * 点击处理
 */
@property (nonatomic, copy) CSClickHandlerBlock clickHandler;


@property (nonatomic, assign) CSPageEngine *pageEngine;

@property (nonatomic, assign) NSTextAlignment textAlignment;

/**
 * 跳出分组栏
 */
@property (nonatomic, assign) BOOL isSectionBreak;

@end
